2
Lab 3: AI เล่นโกโมกุ (เรียง 5)
PolyU COMP55112026-01-26

ปูพื้นฐาน Python: กระดาน

ก่อนจะสร้าง AI ได้ เราต้องมีการแทนโลกในรูปแบบดิจิทัลก่อน ในโกโมกุ โลกของเราคือตารางขนาด 15x15 หรือ 19x19 ใน Python วิธีมาตรฐานในการแทนตารางคือ List of Lists (ลิสต์ซ้อนลิสต์).

แนวคิด: สเปรดชีตในหน่วยความจำ

ให้คิดว่าลิสต์ชั้นนอกเป็น "สเปรดชีต" ที่เก็บทุกแถวไว้ แต่ละสมาชิกภายในเป็นอีกลิสต์หนึ่งที่แทนคอลัมน์ของแถวนั้น ๆ

การเข้าถึงข้อมูล

  • board[0] คืนค่าแถวบนสุดทั้งแถว (เป็นลิสต์)
  • board[1][2] เข้าถึง แถวที่ 1, คอลัมน์ที่ 2.

⚠️ ข้อผิดพลาดเรื่องพิกัดที่พบบ่อย

ในทางคณิตศาสตร์ เราพูดว่า $(x, y)$ โดยที่ $x$ คือแนวนอน และ $y$ คือแนวตั้ง ในเมทริกซ์ของ Python เราจะเข้าถึงด้วย board[row][col].

เนื่องจาก "Row" ตรงกับตำแหน่งแนวตั้ง ($y$) และ "Col" ตรงกับแนวนอน ($x$) โค้ดจึงเทียบเท่ากับ board[y][x]. อย่าสลับกันล่ะ ไม่งั้น AI ของคุณจะมองกระดานตะแคง!